/*
 * Програма для обчислення суми квадратів чисел 
 * від 0 до заданого аргументом командного рядка програми
 * Для компіляції необхідно виконати команду:
 * gcc sum.c -lm -fopenmp -o sum
 *
 * Для виконання необхідно виконати команду:
 * ./sum <ціле число>
 *
 */

#include <omp.h>
#include <stdio.h>
#include <math.h>
int main(int argc, char * argv[])
{
if(argc==0)
{
printf("USAGE: ./sum <int number> \n");
}
else
{
int n = atoi(argv[1]);

	int i=0;
double result = 0;

srand48(getpid());
#pragma omp parallel 
//printf("CPUs: %d \n ", omp_get_num_procs());
omp_set_num_threads(2*(omp_get_num_procs()));
#pragma omp parallel for private(i) shared(result) 
for(i=0;i<n;i++)
{
result+=pow(i,2);
}

printf("res %f \n",result);
}
}
